﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using App_Persistencia;
using System.Data;


namespace App_Negocio
{
    public class Presupuesto_Bebida
    {

        private Bebida bebida;

        public Bebida Bebida
        {
            get { return bebida; }
            set { bebida = value; }
        }

        public string Nombre
        {
            get { return bebida.Nombre; }
            set { bebida.Nombre = value; }
        }

        public string Descripcion
        {
            get { return bebida.Descripcion; }
            set { bebida.Descripcion = value; }
        }

        //de aca se tiene que tener en cuenta la unidad de medida de
        //la bebida para mostrar
        private float cantidadBebida;

        public float CantidadBebida
        {
            get { return cantidadBebida; }
            set { cantidadBebida = value; }
        }

        public float Costo()
        {
            return Bebida.Precio * CantidadBebida;
        }

        public void actualizarCantidadNecesaria(int idPresu)
        {
            Bebida_Data b= new Bebida_Data();
            b.Id = Bebida.Id;
            Presupuesto_Bebida_Data pbd = new Presupuesto_Bebida_Data();
            pbd.Bebida = b;
            pbd.PresupuestoId = idPresu;
            CantidadBebida = pbd.actualizarCantidadBebidaXPresupuesto();
        }

        public static DataTable listarPresupuestoBebida_Tabla(int idPresupuesto)
        {
            Presupuesto_Bebida_Data bd = new Presupuesto_Bebida_Data();
            DataTable tabla = bd.buscarBebidasPorPresupuesto(idPresupuesto);
            return tabla;
        }

        public static List<Presupuesto_Bebida> listarPresupuestoBebida_Lista(Presupuesto presu)
        {
            List<App_Negocio.Presupuesto_Bebida> lista = new List<Presupuesto_Bebida>();
            DataTable tabla = listarPresupuestoBebida_Tabla(presu.Id);

            presu.BebidasTabla = tabla.DefaultView;

            App_Negocio.Bebida b = new Bebida();
            App_Negocio.Presupuesto_Bebida pb= new Presupuesto_Bebida();
            foreach (DataRow fila in tabla.Rows)
            {
                b = new Bebida();
                pb = new Presupuesto_Bebida();
                b.Id = int.Parse(fila["BebidaId"].ToString());
                b.Nombre = fila["Nombre"].ToString();
                b.Unidad_Medida = fila["UnidadMedida"].ToString();
                b.Precio = float.Parse(fila["Precio"].ToString());
                b.Descripcion = fila["Descripcion"].ToString();
                pb.Bebida = b;
                pb.CantidadBebida = int.Parse(fila["Cantidad"].ToString());
                lista.Add(pb);
            }
            return lista;
        }

    }
}
